Platform Explorer / Nuxeo Platform 6.0

Extension point resources

Documentation

Extension Point for registering theme resources.

1) Local resources

The XML syntax is:

    <resource name="resourcename.xxx">
        <path>path/to/resource.xxx</path>
        <require>other-resource.xxx</require>
    </resource>

where: - 'name' is the name of the Resource. Supported extensions are '.js', '.css' and '.json'. - 'path' is the path of the Resource to be loaded by the class loader. - 'require' is the name of another Resource that is required. (Optional) Several resources can be required:

other-resource1.xxx other-resource2.xxx

2) Remote resources (theme banks)

Resources can be registered into theme banks to be accessed remotely.

The XML syntax on the server side is:

    <import bank="bank name" collection="collection name" src="bank-resources.zip"/>

The zip archive is deployed into the bank. The archive's structure is:

style/ image/ preset/ preset/ preset/border/ preset/font/ preset/background/ preset/color/ ...

Contribution Descriptors

  • Class: org.nuxeo.theme.resources.ResourceType
  • Class: org.nuxeo.theme.resources.BankImport

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-opensocial-gadgets-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <!-- CSS -->
        <!-- Common CSS -->
        <resource name="gadget-documentlists.css">
          <path>css/opensocial/gadgets/documentlists.css</path>
        </resource>
        <resource name="gadget-common.css">
          <path>css/opensocial/gadgets/gadget-common.css</path>
        </resource>
        <!-- Gadgets CSS -->
        <resource name="gadget-lastdocuments.css">
          <path>css/opensocial/gadgets/lastdocuments.css</path>
        </resource>
        <resource name="gadget-lastpublisheddocuments.css">
          <path>css/opensocial/gadgets/lastpublisheddocuments.css</path>
        </resource>
        <resource name="gadget-quicksearch.css">
          <path>css/opensocial/gadgets/quicksearch.css</path>
        </resource>
        <resource name="gadget-tasks.css">
          <path>css/opensocial/gadgets/tasks.css</path>
        </resource>
        <resource name="gadget-userdeleteddocuments.css">
          <path>css/opensocial/gadgets/userdeleteddocuments.css</path>
        </resource>
        <resource name="gadget-userdocuments.css">
          <path>css/opensocial/gadgets/userdocuments.css</path>
        </resource>
        <resource name="gadget-usersites.css">
          <path>css/opensocial/gadgets/usersites.css</path>
        </resource>
        <resource name="gadget-userworkspaces.css">
          <path>css/opensocial/gadgets/userworkspaces.css</path>
        </resource>
        <resource name="gadget-favorites.css">
          <path>css/opensocial/gadgets/favorites.css</path>
        </resource>
    
        <!-- JS -->
        <!-- Common JS -->
        <resource name="gadget-context-management.js">
          <path>scripts/opensocial/gadgets/context-management.js</path>
        </resource>
        <resource name="gadget-default-automation-request.js">
          <path>scripts/opensocial/gadgets/default-automation-request.js</path>
        </resource>
        <resource name="gadget-default-documentlist-display.js">
          <path>scripts/opensocial/gadgets/default-documentlist-display.js</path>
        </resource>
        <!-- Gadgets JS -->
        <resource name="gadget-lastdocuments.js">
          <path>scripts/opensocial/gadgets/lastdocuments.js</path>
        </resource>
        <resource name="gadget-lastpublisheddocuments.js">
          <path>scripts/opensocial/gadgets/lastpublisheddocuments.js</path>
        </resource>
        <resource name="gadget-quicksearch.js">
          <path>scripts/opensocial/gadgets/quicksearch.js</path>
        </resource>
        <resource name="gadget-tasks.js">
          <path>scripts/opensocial/gadgets/tasks.js</path>
        </resource>
        <resource name="gadget-userdeleteddocuments.js">
          <path>scripts/opensocial/gadgets/userdeleteddocuments.js</path>
        </resource>
        <resource name="gadget-userdocuments.js">
          <path>scripts/opensocial/gadgets/userdocuments.js</path>
        </resource>
        <resource name="gadget-usersites.js">
          <path>scripts/opensocial/gadgets/usersites.js</path>
        </resource>
        <resource name="gadget-userworkspaces.js">
          <path>scripts/opensocial/gadgets/userworkspaces.js</path>
        </resource>
        <resource name="gadget-favorites.js">
          <path>scripts/opensocial/gadgets/favorites.js</path>
        </resource>
      </extension>
  • nuxeo-opensocial-container-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <!-- OpenSocial container -->
        <resource name="opensocial-container.css">
          <path>opensocial/css/container.css</path>
          <require>opensocial-reset-fonts-grids.css</require>
        </resource>
        <resource name="opensocial-gadgets.css">
          <path>opensocial/css/gadgets.css</path>
          <require>opensocial-reset-fonts-grids.css</require>
        </resource>
        <resource name="opensocial-reset-fonts-grids.css">
          <path>opensocial/css/reset-fonts-grids.css</path>
        </resource>
    
        <resource name="opensocial-rpc-container.js">
          <path>scripts/opensocial/rpc-container.js</path>
        </resource>
    
        <!-- Lightweight container -->
        <resource name="opensocial-light-container-gadgets.css">
          <path>css/opensocial/light-container-gadgets.css</path>
        </resource>
    
        <resource name="opensocial-cookiebaseduserprefstore.js">
          <path>scripts/opensocial/cookiebaseduserprefstore.js</path>
          <require>opensocial-util.js</require>
          <require>opensocial-cookies.js</require>
        </resource>
        <resource name="opensocial-cookies.js">
          <path>scripts/opensocial/cookies.js</path>
          <require>opensocial-gadgets.js</require>
        </resource>
        <resource name="opensocial-gadgets.js">
          <path>scripts/opensocial/gadgets.js</path>
          <require>opensocial-util.js</require>
        </resource>
        <resource name="opensocial-rpc-container.js">
          <path>scripts/opensocial/rpc-container.js</path>
        </resource>
        <resource name="opensocial-util.js">
          <path>scripts/opensocial/util.js</path>
        </resource>
        <resource name="jquery.opensocial.gadget.js">
          <path>scripts/opensocial/jquery.opensocial.gadget.js</path>
        </resource>
    
      </extension>
  • nuxeo-platform-video-jsf-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <resource name="video-js.css">
          <path>css/video-js.css</path>
        </resource>
        <resource name="video-js.nx.css">
          <path>css/video-js.nx.css</path>
          <require>video-js.css</require>
        </resource>
        <resource name="videojs.thumbnails.css">
          <path>css/videojs.thumbnails.css</path>
        </resource>
    
        <resource name="video-js.js">
          <path>scripts/video.js</path>
        </resource>
        <resource name="video-player-util.js">
          <path>scripts/video-player-util.js</path>
          <require>video-js.js</require>
        </resource>
        <resource name="videojs.thumbnails.js">
          <path>scripts/videojs.thumbnails.js</path>
          <require>video-js.js</require>
        </resource>
      </extension>
  • nuxeo-platform-tag-web-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <resource name="tags2Formatter.js">
          <path>scripts/tags2Formatter.js</path>
        </resource>
      </extension>
  • nuxeo-platform-audio-jsf-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <resource name="audio-player.js">
          <path>scripts/wpaudioplayer/audio-player.js</path>
        </resource>
      </extension>
  • nuxeo-routing-web-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <resource name="automation.js">
          <path>scripts/automation.js</path>
        </resource>
        <resource name="jquery.jsPlumb-1.5.1-min.js">
          <path>scripts/jquery.jsPlumb-1.5.1-min.js</path>
        </resource>
        <resource name="documentRoutingGraph.js">
          <path>scripts/documentRoutingGraph.js</path>
          <require>jquery.jsPlumb-1.5.1-min.js</require>
          <require>automation.js</require>
        </resource>
        <resource name="documentRoutingGraph.css">
          <path>css/documentRoutingGraph.css</path>
        </resource>
    
      </extension>
  • nuxeo-platform-collections-jsf-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <resource name="collections2Formatter.js">
          <path>scripts/collections2Formatter.js</path>
        </resource>
      </extension>
  • nuxeo-theme-html-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
    
        <!-- Prototype 1.6.1 -->
        <!-- when changing prototype version, please make
          sure fix for NXP-2586, NXP-3782 and for NXP-3600 are applied -->
        <resource name="prototype.js">
          <path>nxthemes/html/scripts/prototype.js</path>
        </resource>
    
        <!-- JQuery 1.8.3 -->
        <!-- Needed by opensocial gadgets, not needed by JSF pages anymore
          (so not included by default since JSF2 migration, see NXP-13805) -->
        <resource name="jquery.js">
          <path>nxthemes/html/scripts/jquery.js</path>
        </resource>
    
        <!-- Keyboard shortcuts http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js -->
        <resource name="shortcut.js">
          <path>nxthemes/html/scripts/shortcut.js</path>
        </resource>
    
        <!-- ObjTree 0.24 (http://www.kawa.net/works/js/xml/objtree-e.html) -->
        <resource name="objtree.js">
          <path>nxthemes/html/scripts/objtree.js</path>
        </resource>
    
        <!-- Scriptaculous v1.8.1 -->
        <resource name="builder.js">
          <path>nxthemes/html/scripts/scriptaculous/builder.js</path>
          <require>prototype.js</require>
        </resource>
    
        <resource name="effects.js">
          <path>nxthemes/html/scripts/scriptaculous/effects.js</path>
          <require>prototype.js</require>
        </resource>
    
        <resource name="controls.js">
          <path>nxthemes/html/scripts/scriptaculous/controls.js</path>
          <require>effects.js</require>
          <require>prototype.js</require>
        </resource>
    
        <resource name="dragdrop.js">
          <path>nxthemes/html/scripts/scriptaculous/dragdrop.js</path>
          <require>effects.js</require>
          <require>prototype.js</require>
        </resource>
    
        <resource name="slider.js">
          <path>nxthemes/html/scripts/scriptaculous/slider.js</path>
          <require>prototype.js</require>
        </resource>
    
        <resource name="sound.js">
          <path>nxthemes/html/scripts/scriptaculous/sound.js</path>
          <require>prototype.js</require>
        </resource>
    
        <!-- Seam 1.0.1.GA -->
        <resource name="seam-remote.js">
          <path>nxthemes/html/scripts/seam-remote.js</path>
        </resource>
    
        <resource name="nxthemes.css">
          <path>nxthemes/html/styles/nxthemes.css</path>
        </resource>
    
        <resource name="nxthemes-widgets.css">
          <path>nxthemes/html/styles/nxthemes-widgets.css</path>
        </resource>
    
        <resource name="nxthemes-jsf.css">
          <path>nxthemes/html/styles/nxthemes-jsf.css</path>
        </resource>
    
        <!-- WYSIWYG JavaScript framework 0.1 http://github.com/37signals/wysihat/tree/master -->
        <resource name="wysihat.js">
          <path>nxthemes/html/scripts/wysihat.js</path>
          <require>prototype.js</require>
        </resource>
    
        <!-- nxthemes lib -->
        <resource name="nxthemes.js">
          <path>nxthemes/html/scripts/nxthemes/nxthemes.js</path>
          <require>prototype.js</require>
          <require>nxthemes.css</require>
        </resource>
    
        <resource name="nxthemes-widgets.js">
          <path>
            nxthemes/html/scripts/nxthemes/nxthemes-widgets.js
          </path>
          <require>nxthemes.js</require>
          <require>nxthemes-widgets.css</require>
        </resource>
    
        <resource name="nxthemes-effects.js">
          <path>
            nxthemes/html/scripts/nxthemes/nxthemes-effects.js
          </path>
          <require>nxthemes.js</require>
        </resource>
    
        <resource name="nxthemes-controllers.js">
          <path>
            nxthemes/html/scripts/nxthemes/nxthemes-controllers.js
          </path>
          <require>nxthemes-effects.js</require>
        </resource>
    
        <resource name="nxthemes-storages.js">
          <path>
            nxthemes/html/scripts/nxthemes/nxthemes-storages.js
          </path>
          <require>nxthemes.js</require>
        </resource>
    
        <!-- AutoSuggest lib -->
        <resource name="autosuggest.css">
          <path>nxthemes/html/styles/autosuggest.css</path>
        </resource>
        <resource name="bsn.AutoSuggest_2.1.3.js">
          <path>nxthemes/html/scripts/bsn.AutoSuggest_2.1.3.js</path>
        </resource>
    
        <!-- JQuery UI Slider 1.9.2 -->
        <resource name="jquery.ui.slider.js">
          <path>nxthemes/html/scripts/jquery-ui-1.9.2.slider.js</path>
        </resource>
    
        <!-- JQuery UI CSS Slider 1.9.2 -->
        <resource name="jquery.ui.slider.css">
          <path>nxthemes/html/styles/jquery-ui-1.9.2.slider.min.css</path>
        </resource>
    
      </extension>
  • nuxeo-platform-ui-select2-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
        <resource name="select2.css">
          <path>css/select2.css</path>
        </resource>
        <resource name="select2.js">
          <path>scripts/select2/select2.js</path>
        </resource>
        <resource name="nuxeo-select2.js">
          <path>scripts/select2/nuxeo-select2.js</path>
          <require>select2.js</require>
        </resource>
      </extension>
  • nuxeo-platform-webapp-core-6.0.jar
    <extension point="resources" target="org.nuxeo.theme.services.ThemeService">
    
        <resource name="static-styles.css">
          <path>css/static-styles.css</path>
        </resource>
    
        <resource name="screen.css">
          <path>css/screen.css</path>
        </resource>
    
        <resource name="foldable-box.js">
          <path>scripts/foldable-box.js</path>
          <require>effects.js</require>
        </resource>
    
        <resource name="window.js">
          <path>scripts/window.js</path>
        </resource>
        <resource name="window_effects.js">
          <path>scripts/window_effects.js</path>
        </resource>
        <resource name="waitdlg.js">
          <path>waitdialog/waitdlg.js</path>
        </resource>
        <resource name="utils.js">
          <path>scripts/utils.js</path>
        </resource>
        <resource name="tableSelections.js">
          <path>scripts/tableSelections.js</path>
        </resource>
        <resource name="contextmenu.js">
          <path>scripts/contextmenu.js</path>
        </resource>
        <resource name="DragAndDrop.js">
          <path>scripts/DragAndDrop.js</path>
        </resource>
        <resource name="hideableAdminMessage.js">
          <path>scripts/hideableAdminMessage.js</path>
        </resource>
        <!-- jquery cookie plugin -->
        <resource name="jquery.tools.cookie.js">
          <path>scripts/jquery/cookie.js</path>
        </resource>
        <!-- Fancybox -->
        <resource name="jquery.fancybox.js">
          <!-- useful for debug -->
          <!--
            <path>scripts/jquery/jquery.fancybox.js</path>
            <shrinkable>false</shrinkable>
          -->
          <path>scripts/jquery/jquery.fancybox.pack.js</path>
        </resource>
        <resource name="jquery.fancybox.style.css">
          <path>css/jquery.fancybox.css</path>
        </resource>
        <resource name="fancybox-popup-utils.js">
          <path>scripts/fancybox-popup-utils.js</path>
        </resource>
        <!-- Hotkeys (e.g. used to focus the search box using '/') -->
        <resource name="jquery.hotkeys.js">
          <path>scripts/jquery/jquery.hotkeys.js</path>
        </resource>
        <!-- Helpers for focus on first input of a form -->
        <resource name="jquery.tools.focusfirst.js">
          <path>scripts/jquery/jquery.tools.focusfirst.js</path>
        </resource>
        <!-- Workaround for jQuery and Sarissa library conflict on IE -->
        <resource name="sarissa-ie-workaround.js">
          <path>scripts/sarissa-ie-workaround.js</path>
        </resource>
        <!-- Mustache -->
        <resource name="mustache.js">
          <path>scripts/mustache/mustache.js</path>
        </resource>
        <!-- Simple Access Key helper -->
        <resource name="accessKey.js">
          <path>scripts/accessKey.js</path>
        </resource>
        <!-- Moment.js -->
        <resource name="moment.js">
          <path>scripts/moment.min-1.5.0nx.js</path>
        </resource>
        <!-- jquery-ui resources: order plugins according to their dependencies. -->
        <resource name="jquery.ui.core.js">
          <path>scripts/jquery/jquery.ui.core.js</path>
        </resource>
        <resource name="jquery.ui.widget.js">
          <path>scripts/jquery/jquery.ui.widget.js</path>
        </resource>
        <resource name="jquery.ui.mouse.js">
          <path>scripts/jquery/jquery.ui.mouse.js</path>
        </resource>
        <resource name="jquery.ui.sortable.js">
          <path>scripts/jquery/jquery.ui.sortable.js</path>
          <require>jquery.ui.core.js</require>
          <require>jquery.ui.widget.js</require>
          <require>jquery.ui.mouse.js</require>
        </resource>
        <!-- Double click shield -->
        <resource name="jquery.nuxeo.doubleclickshield.js">
          <path>scripts/jquery.nuxeo.doubleclickshield.js</path>
        </resource>
        <!-- jQuery Ambiance -->
        <resource name="jquery.ambiance.js">
          <path>scripts/jquery/jquery.ambiance.js</path>
        </resource>
        <resource name="jquery.ambiance.css">
          <path>css/jquery.ambiance.css</path>
        </resource>
        <resource name="jquery.nuxeo.dropdown.js">
          <path>scripts/jquery/jquery.nuxeo.dropdown.js</path>
        </resource>
        <resource name="jquery.tipsy.js">
          <path>scripts/jquery/jquery.tipsy.js</path>
        </resource>
        <resource name="tipsy.css">
          <path>css/tipsy.css</path>
        </resource>
        <resource name="jquery.nuxeo.tipsy.js">
          <path>scripts/jquery.nuxeo.tipsy.js</path>
          <require>jquery.tipsy.js</require>
        </resource>
        <resource name="jquery.magnific-popup.js">
          <path>scripts/jquery/jquery.magnific-popup.js</path>
        </resource>
         <resource name="magnific-popup.css">
          <path>css/magnific-popup.css</path>
        </resource>
        <resource name="nuxeo-lightbox.js">
          <path>scripts/nuxeo-lightbox.js</path>
        </resource>
        <resource name="jquery.nuxeo.cv-lightbox.js">
          <path>scripts/jquery.nuxeo.cv-lightbox.js</path>
          <require>jquery.magnific-popup.js</require>
          <require>nuxeo-lightbox.js</require>
        </resource>
        <resource name="nuxeo-documents-import.js">
          <path>scripts/nuxeo-documents-import.js</path>
        </resource>
        <resource name="fixmultipartajax.js">
          <path>scripts/fixmultipartajax.js</path>
        </resource>
      </extension>